home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / swing / GroupLayout$SequentialGroup.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  8.2 KB  |  373 lines

  1. package javax.swing;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Component.BaselineResizeBehavior;
  5. import java.util.ArrayList;
  6. import java.util.Collections;
  7. import java.util.List;
  8. import javax.swing.LayoutStyle.ComponentPlacement;
  9.  
  10. public class GroupLayout$SequentialGroup extends GroupLayout.Group {
  11.    private GroupLayout.Spring baselineSpring;
  12.    // $FF: synthetic field
  13.    static final boolean $assertionsDisabled = !GroupLayout.class.desiredAssertionStatus();
  14.    // $FF: synthetic field
  15.    final GroupLayout this$0;
  16.  
  17.    GroupLayout$SequentialGroup(GroupLayout var1) {
  18.       super(var1);
  19.       this.this$0 = var1;
  20.    }
  21.  
  22.    public GroupLayout$SequentialGroup addGroup(GroupLayout.Group var1) {
  23.       return (GroupLayout$SequentialGroup)super.addGroup(var1);
  24.    }
  25.  
  26.    public GroupLayout$SequentialGroup addGroup(boolean var1, GroupLayout.Group var2) {
  27.       super.addGroup(var2);
  28.       if (var1) {
  29.          this.baselineSpring = var2;
  30.       }
  31.  
  32.       return this;
  33.    }
  34.  
  35.    public GroupLayout$SequentialGroup addComponent(Component var1) {
  36.       return (GroupLayout$SequentialGroup)super.addComponent(var1);
  37.    }
  38.  
  39.    public GroupLayout$SequentialGroup addComponent(boolean var1, Component var2) {
  40.       super.addComponent(var2);
  41.       if (var1) {
  42.          this.baselineSpring = (GroupLayout.Spring)this.springs.get(this.springs.size() - 1);
  43.       }
  44.  
  45.       return this;
  46.    }
  47.  
  48.    public GroupLayout$SequentialGroup addComponent(Component var1, int var2, int var3, int var4) {
  49.       return (GroupLayout$SequentialGroup)super.addComponent(var1, var2, var3, var4);
  50.    }
  51.  
  52.    public GroupLayout$SequentialGroup addComponent(boolean var1, Component var2, int var3, int var4, int var5) {
  53.       super.addComponent(var2, var3, var4, var5);
  54.       if (var1) {
  55.          this.baselineSpring = (GroupLayout.Spring)this.springs.get(this.springs.size() - 1);
  56.       }
  57.  
  58.       return this;
  59.    }
  60.  
  61.    public GroupLayout$SequentialGroup addGap(int var1) {
  62.       return (GroupLayout$SequentialGroup)super.addGap(var1);
  63.    }
  64.  
  65.    public GroupLayout$SequentialGroup addGap(int var1, int var2, int var3) {
  66.       return (GroupLayout$SequentialGroup)super.addGap(var1, var2, var3);
  67.    }
  68.  
  69.    public GroupLayout$SequentialGroup addPreferredGap(JComponent var1, JComponent var2, LayoutStyle.ComponentPlacement var3) {
  70.       return this.addPreferredGap(var1, var2, var3, -1, -2);
  71.    }
  72.  
  73.    public GroupLayout$SequentialGroup addPreferredGap(JComponent var1, JComponent var2, LayoutStyle.ComponentPlacement var3, int var4, int var5) {
  74.       if (var3 == null) {
  75.          throw new IllegalArgumentException("Type must be non-null");
  76.       } else if (var1 != null && var2 != null) {
  77.          this.checkPreferredGapValues(var4, var5);
  78.          return (GroupLayout$SequentialGroup)this.addSpring(new GroupLayout.PreferredGapSpring(this.this$0, var1, var2, var3, var4, var5));
  79.       } else {
  80.          throw new IllegalArgumentException("Components must be non-null");
  81.       }
  82.    }
  83.  
  84.    public GroupLayout$SequentialGroup addPreferredGap(LayoutStyle.ComponentPlacement var1) {
  85.       return this.addPreferredGap(var1, -1, -1);
  86.    }
  87.  
  88.    public GroupLayout$SequentialGroup addPreferredGap(LayoutStyle.ComponentPlacement var1, int var2, int var3) {
  89.       if (var1 != ComponentPlacement.RELATED && var1 != ComponentPlacement.UNRELATED) {
  90.          throw new IllegalArgumentException("Type must be one of LayoutStyle.ComponentPlacement.RELATED or LayoutStyle.ComponentPlacement.UNRELATED");
  91.       } else {
  92.          this.checkPreferredGapValues(var2, var3);
  93.          GroupLayout.access$302(this.this$0, true);
  94.          return (GroupLayout$SequentialGroup)this.addSpring(new GroupLayout.AutoPreferredGapSpring(this.this$0, var1, var2, var3));
  95.       }
  96.    }
  97.  
  98.    public GroupLayout$SequentialGroup addContainerGap() {
  99.       return this.addContainerGap(-1, -1);
  100.    }
  101.  
  102.    public GroupLayout$SequentialGroup addContainerGap(int var1, int var2) {
  103.       if ((var1 >= 0 || var1 == -1) && (var2 >= 0 || var2 == -1 || var2 == -2) && (var1 < 0 || var2 < 0 || var1 <= var2)) {
  104.          GroupLayout.access$302(this.this$0, true);
  105.          return (GroupLayout$SequentialGroup)this.addSpring(new GroupLayout.ContainerAutoPreferredGapSpring(this.this$0, var1, var2));
  106.       } else {
  107.          throw new IllegalArgumentException("Pref and max must be either DEFAULT_VALUE or >= 0 and pref <= max");
  108.       }
  109.    }
  110.  
  111.    int operator(int var1, int var2) {
  112.       return this.constrain(var1) + this.constrain(var2);
  113.    }
  114.  
  115.    void setValidSize(int var1, int var2, int var3) {
  116.       int var4 = this.getPreferredSize(var1);
  117.       if (var3 == var4) {
  118.          for(GroupLayout.Spring var6 : this.springs) {
  119.             int var7 = var6.getPreferredSize(var1);
  120.             var6.setSize(var1, var2, var7);
  121.             var2 += var7;
  122.          }
  123.       } else if (this.springs.size() == 1) {
  124.          GroupLayout.Spring var8 = this.getSpring(0);
  125.          var8.setSize(var1, var2, Math.min(Math.max(var3, var8.getMinimumSize(var1)), var8.getMaximumSize(var1)));
  126.       } else if (this.springs.size() > 1) {
  127.          this.setValidSizeNotPreferred(var1, var2, var3);
  128.       }
  129.  
  130.    }
  131.  
  132.    private void setValidSizeNotPreferred(int var1, int var2, int var3) {
  133.       int var4 = var3 - this.getPreferredSize(var1);
  134.       if (!$assertionsDisabled && var4 == 0) {
  135.          throw new AssertionError();
  136.       } else {
  137.          boolean var5 = var4 < 0;
  138.          int var6 = this.springs.size();
  139.          if (var5) {
  140.             var4 *= -1;
  141.          }
  142.  
  143.          List var7 = this.buildResizableList(var1, var5);
  144.          int var8 = var7.size();
  145.          if (var8 > 0) {
  146.             int var9 = var4 / var8;
  147.             int var10 = var4 - var9 * var8;
  148.             int[] var11 = new int[var6];
  149.             int var12 = var5 ? -1 : 1;
  150.  
  151.             for(int var13 = 0; var13 < var8; ++var13) {
  152.                GroupLayout.SpringDelta var14 = (GroupLayout.SpringDelta)var7.get(var13);
  153.                if (var13 + 1 == var8) {
  154.                   var9 += var10;
  155.                }
  156.  
  157.                var14.delta = Math.min(var9, var14.delta);
  158.                var4 -= var14.delta;
  159.                if (var14.delta != var9 && var13 + 1 < var8) {
  160.                   var9 = var4 / (var8 - var13 - 1);
  161.                   var10 = var4 - var9 * (var8 - var13 - 1);
  162.                }
  163.  
  164.                var11[var14.index] = var12 * var14.delta;
  165.             }
  166.  
  167.             for(int var19 = 0; var19 < var6; ++var19) {
  168.                GroupLayout.Spring var20 = this.getSpring(var19);
  169.                int var15 = var20.getPreferredSize(var1) + var11[var19];
  170.                var20.setSize(var1, var2, var15);
  171.                var2 += var15;
  172.             }
  173.          } else {
  174.             for(int var16 = 0; var16 < var6; ++var16) {
  175.                GroupLayout.Spring var17 = this.getSpring(var16);
  176.                int var18;
  177.                if (var5) {
  178.                   var18 = var17.getMinimumSize(var1);
  179.                } else {
  180.                   var18 = var17.getMaximumSize(var1);
  181.                }
  182.  
  183.                var17.setSize(var1, var2, var18);
  184.                var2 += var18;
  185.             }
  186.          }
  187.  
  188.       }
  189.    }
  190.  
  191.    private List<GroupLayout.SpringDelta> buildResizableList(int var1, boolean var2) {
  192.       int var3 = this.springs.size();
  193.       ArrayList var4 = new ArrayList(var3);
  194.  
  195.       for(int var5 = 0; var5 < var3; ++var5) {
  196.          GroupLayout.Spring var6 = this.getSpring(var5);
  197.          int var7;
  198.          if (var2) {
  199.             var7 = var6.getPreferredSize(var1) - var6.getMinimumSize(var1);
  200.          } else {
  201.             var7 = var6.getMaximumSize(var1) - var6.getPreferredSize(var1);
  202.          }
  203.  
  204.          if (var7 > 0) {
  205.             var4.add(new GroupLayout.SpringDelta(var5, var7));
  206.          }
  207.       }
  208.  
  209.       Collections.sort(var4);
  210.       return var4;
  211.    }
  212.  
  213.    void insertAutopadding(int var1, List<GroupLayout.AutoPreferredGapSpring> var2, List<GroupLayout.AutoPreferredGapSpring> var3, List<GroupLayout.ComponentSpring> var4, List<GroupLayout.ComponentSpring> var5, boolean var6) {
  214.       ArrayList var7 = new ArrayList(var2);
  215.       ArrayList var8 = new ArrayList(1);
  216.       ArrayList var9 = new ArrayList(var4);
  217.       ArrayList var10 = null;
  218.  
  219.       for(int var11 = 0; var11 < this.springs.size(); ++var11) {
  220.          GroupLayout.Spring var12 = this.getSpring(var11);
  221.          if (var12 instanceof GroupLayout.AutoPreferredGapSpring) {
  222.             GroupLayout.AutoPreferredGapSpring var17 = (GroupLayout.AutoPreferredGapSpring)var12;
  223.             var17.setSources(var9);
  224.             var9.clear();
  225.             if (var11 + 1 == this.springs.size()) {
  226.                if (!(var17 instanceof GroupLayout.ContainerAutoPreferredGapSpring)) {
  227.                   var3.add(var17);
  228.                }
  229.             } else {
  230.                var7.clear();
  231.                var7.add(var17);
  232.             }
  233.          } else if (var9.size() > 0 && var6) {
  234.             GroupLayout.AutoPreferredGapSpring var16 = new GroupLayout.AutoPreferredGapSpring(this.this$0, (GroupLayout.1)null);
  235.             this.springs.add(var11--, var16);
  236.          } else if (!(var12 instanceof GroupLayout.ComponentSpring)) {
  237.             if (var12 instanceof GroupLayout.Group) {
  238.                if (var10 == null) {
  239.                   var10 = new ArrayList(1);
  240.                } else {
  241.                   var10.clear();
  242.                }
  243.  
  244.                var8.clear();
  245.                ((GroupLayout.Group)var12).insertAutopadding(var1, var7, var8, var9, var10, var6);
  246.                var9.clear();
  247.                var7.clear();
  248.                if (var11 + 1 == this.springs.size()) {
  249.                   var5.addAll(var10);
  250.                   var3.addAll(var8);
  251.                } else {
  252.                   var9.addAll(var10);
  253.                   var7.addAll(var8);
  254.                }
  255.             } else {
  256.                var7.clear();
  257.                var9.clear();
  258.             }
  259.          } else {
  260.             GroupLayout.ComponentSpring var13 = (GroupLayout.ComponentSpring)var12;
  261.             if (var13.isVisible()) {
  262.                for(GroupLayout.AutoPreferredGapSpring var15 : var7) {
  263.                   var15.addTarget(var13, var1);
  264.                }
  265.  
  266.                var9.clear();
  267.                var7.clear();
  268.                if (var11 + 1 == this.springs.size()) {
  269.                   var5.add(var13);
  270.                } else {
  271.                   var9.add(var13);
  272.                }
  273.             }
  274.          }
  275.       }
  276.  
  277.    }
  278.  
  279.    int getBaseline() {
  280.       if (this.baselineSpring != null) {
  281.          int var1 = this.baselineSpring.getBaseline();
  282.          if (var1 >= 0) {
  283.             int var2 = 0;
  284.  
  285.             for(GroupLayout.Spring var4 : this.springs) {
  286.                if (var4 == this.baselineSpring) {
  287.                   return var2 + var1;
  288.                }
  289.  
  290.                var2 += var4.getPreferredSize(1);
  291.             }
  292.          }
  293.       }
  294.  
  295.       return -1;
  296.    }
  297.  
  298.    Component.BaselineResizeBehavior getBaselineResizeBehavior() {
  299.       if (!this.isResizable(1)) {
  300.          return BaselineResizeBehavior.CONSTANT_ASCENT;
  301.       } else {
  302.          if (!this.baselineSpring.isResizable(1)) {
  303.             boolean var1 = false;
  304.  
  305.             for(GroupLayout.Spring var3 : this.springs) {
  306.                if (var3 == this.baselineSpring) {
  307.                   break;
  308.                }
  309.  
  310.                if (var3.isResizable(1)) {
  311.                   var1 = true;
  312.                   break;
  313.                }
  314.             }
  315.  
  316.             boolean var6 = false;
  317.  
  318.             for(int var9 = this.springs.size() - 1; var9 >= 0; --var9) {
  319.                GroupLayout.Spring var4 = (GroupLayout.Spring)this.springs.get(var9);
  320.                if (var4 == this.baselineSpring) {
  321.                   break;
  322.                }
  323.  
  324.                if (var4.isResizable(1)) {
  325.                   var6 = true;
  326.                   break;
  327.                }
  328.             }
  329.  
  330.             if (var1 && !var6) {
  331.                return BaselineResizeBehavior.CONSTANT_DESCENT;
  332.             }
  333.  
  334.             if (!var1 && var6) {
  335.                return BaselineResizeBehavior.CONSTANT_ASCENT;
  336.             }
  337.          } else {
  338.             Component.BaselineResizeBehavior var5 = this.baselineSpring.getBaselineResizeBehavior();
  339.             if (var5 == BaselineResizeBehavior.CONSTANT_ASCENT) {
  340.                for(GroupLayout.Spring var10 : this.springs) {
  341.                   if (var10 == this.baselineSpring) {
  342.                      return BaselineResizeBehavior.CONSTANT_ASCENT;
  343.                   }
  344.  
  345.                   if (var10.isResizable(1)) {
  346.                      return BaselineResizeBehavior.OTHER;
  347.                   }
  348.                }
  349.             } else if (var5 == BaselineResizeBehavior.CONSTANT_DESCENT) {
  350.                for(int var8 = this.springs.size() - 1; var8 >= 0; --var8) {
  351.                   GroupLayout.Spring var11 = (GroupLayout.Spring)this.springs.get(var8);
  352.                   if (var11 == this.baselineSpring) {
  353.                      return BaselineResizeBehavior.CONSTANT_DESCENT;
  354.                   }
  355.  
  356.                   if (var11.isResizable(1)) {
  357.                      return BaselineResizeBehavior.OTHER;
  358.                   }
  359.                }
  360.             }
  361.          }
  362.  
  363.          return BaselineResizeBehavior.OTHER;
  364.       }
  365.    }
  366.  
  367.    private void checkPreferredGapValues(int var1, int var2) {
  368.       if (var1 < 0 && var1 != -1 && var1 != -2 || var2 < 0 && var2 != -1 && var2 != -2 || var1 >= 0 && var2 >= 0 && var1 > var2) {
  369.          throw new IllegalArgumentException("Pref and max must be either DEFAULT_SIZE, PREFERRED_SIZE, or >= 0 and pref <= max");
  370.       }
  371.    }
  372. }
  373.